﻿var K_Operacion = { Insertar: 1, Editar: 2, Ver: 3 };
var K_ResultadoAjax = { Exito: 1, Error: 0 };
var K_MensajeSelect = { Todos: 'Todos', Seleccione: 'Seleccione' };


var K_POPUP_IDS = { OPCION: "mvNuevoOpcion", PERFIL: "mvNuevoPerfil", MODULO: "mvNuevoModulo" };
var K_MENSAJE_POPUP = { OPCION: "avisoOpcion" };



$(function () {
    
    //INICIO MODULO
    $("#mvNuevoModulo").dialog({ modal: true, autoOpen: false, width: 400, height: 270, title: "Nuevo Registro de Modulo", buttons: { "Grabar": insertarModulo, "Cerrar": closePopupModulo } });
    //FIN MODULO
    //INICIO PERFIL
    $("#mvNuevoPerfil").dialog({ modal: true, autoOpen: false, width: 400, height: 270, title: "Nuevo Registro de Perfil", buttons: { "Grabar": insertarPerfil, "Cerrar": closePopupPerfil } });
    //FIN PERFIL
    //INICIO OPCION
    $("#" + K_POPUP_IDS.OPCION).dialog({ modal: true, autoOpen: false, width: 500, height: 270, title: "Nuevo Registro de Perfil", buttons: { "Grabar": insertarOpcion, "Cerrar": function () { $(this).dialog("close"); } } });
    //FIN PERFIL

    $("#mvNuevo").dialog({
        modal: true,
        autoOpen: false,
        width: 400,
        height: 270,
        title: "Nuevo Registro de Sistema",
        buttons: {
            "Grabar": insertar,
            "Cerrar": closePopup
        }
    });

    $("#btnLimpiar").on("click", function () {
        $("#txtNombreFiltro").val("");
        $("#txtPrefijoFiltro").val("");
        $("#txtSistemaFiltro").val("");
        $("#hidCodigoSistemaFiltro").val("");
        buscarJqGrid();
    });
    $("#btnBuscar").on("click", function () {
        var codSistema = $("#hidCodigoSistemaFiltro").val();
        var codModulo = $("#ddlModuloFiltro").val();
        buscarHtml();
        verModulo(codSistema);
        refreshPerfil(codModulo);
    });

    $("#btnNuevo").on("click", function () {
        resetPopup();
        $("#hidOpcion").val(K_Operacion.Insertar);
        $("#mvNuevo").dialog('option', 'title', 'Registrar información de Sistema.');
        $("#mvNuevo").dialog("open");
    });


    $("#btnEditar").on("click", function () {
        var filas = jQuery("#grid").jqGrid('getGridParam', 'selarrrow');
        if (filas != null) {
            if (filas.length > 0) {
                if (filas.length == 1) {
                    var codigoSel = jQuery("#grid").jqGrid('getRowData', filas[0]).CodigoSistema;
                    edit(codigoSel);
                } else {
                    alertify.error("Para modificar seleccione sólo un elemento de la lista.");
                }
            } else {
                alertify.error("Seleccione un elemento para modificar.");
            }
        } else {
            alertify.error("Seleccione un elemento para modificar.");
        }
    });

    $("#btnEliminar").on("click", function () {
        var item = new Array();

        var filas = jQuery("#grid").jqGrid('getGridParam', 'selarrrow');

        if (filas.length > 0) {
            alertify.confirm("Esta seguro de eliminar los registros seleccionados?", function (e) {
                if (e) {
                    for (var i = 0; i < filas.length; i++) {
                        var codigoSel = (jQuery("#grid").jqGrid('getRowData', filas[i]).CodigoSistema);
                        item[i] = codigoSel;
                    }
                    eliminar(item);
                } else {
                    alertify.error("Operación eliminación cancelada.");
                }
            });

        } else {
            alertify.error("Seleccione un elemento para eliminar.");
        }
        return false;
    });

    //$("#ddlSistemaFiltro").on("change", function () {
    //    var codSistema = $("#ddlSistemaFiltro").val();
    //    //alert(codSistema);
    //    listarModuloXSistema("ddlModuloFiltro", K_MensajeSelect.Todos, codSistema);
    //    buscarHtml();
    //});

    $("#ddlModuloFiltro").on("change", function () {
        var codSistema = $("#hidCodigoSistemaFiltro").val();
        var codModulo = $("#ddlModuloFiltro").val();
        listarPerfilXModulo("ddlPerfilFiltro", K_MensajeSelect.Todos, codModulo);
        refreshModulo(codSistema);
    });
    $("#ddlPerfilFiltro").on("change", function () {
        var codModulo = $("#ddlModuloFiltro").val();
        refreshPerfil(codModulo, 1);
    });

    //$("#hidCodigoSistemaFiltro").on("change", function () {
    //    var codSistema = $("#hidCodigoSistemaFiltro").val();
    //    listarModuloXSistema("ddlModuloFiltro", K_MensajeSelect.Todos, codSistema);
    //});

    //$("#txtSistemaFiltro").on("keypress", function (e) {
    //    if (e.which == 13) {
    //        var codSistema = $("#hidCodigoSistemaFiltro").val();
    //        listarModuloXSistema("ddlModuloFiltro", K_MensajeSelect.Todos, codSistema);
    //        buscarHtml();
    //    }
    //});

    //listarSistema("ddlSistemaFiltro", K_MensajeSelect.Seleccione,0);
    initSistemaAutoCompletar("txtSistemaFiltro", "hidCodigoSistemaFiltro", "ddlModuloFiltro",true);

   // listarModuloXSistema("ddlModuloFiltro", K_MensajeSelect.Todos, 0);
    listarPerfilXModulo("ddlPerfilFiltro", K_MensajeSelect.Todos, 0);
   
});

var verDeta = function (param) {
    $("#txtCodigo").val(param);
    $("#mvNuevo").dialog("open");
    $("#mvNuevo").dialog('option', 'title', 'Ver información de Sistema.');
};

var buscarHtml = function () {
    validarSesion();
    var sistema = {
        CodigoSistema: $("#hidCodigoSistemaFiltro").val()
    };

    $.ajax({
        data: sistema,
        url: 'ListarHtml',
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $("#gridHtml").html(dato.message);
                //$("#gridHtml").append(dato.message);
                refreshModulo(sistema.CodigoSistema);
            } else {
                alertify.error(dato.message);
            }
        }
    });
}

var insertar = function () {
    if (ValidarRequeridos()) {
        var sistema = {
            CodigoSistema: $("#txtCodigo").val(),
            Anulado: $("#ddlSituacion").val() == 'A' ? false : true,
            Nombre: $("#txtNombre").val(),
            Descripcion: $("#txtDescripcion").val(),
            Prefijo: $("#txtPrefijo").val()
        };
        if ($("#hidOpcion").val() == K_Operacion.Insertar) {
            ///insertar
            $.ajax({
                url: 'Insertar',
                data: sistema,
                type: 'POST',
                beforeSend: function () { },
                success: function (response) {
                    var dato = response;
                    validarRedirect(dato);
                    if (dato.result == K_ResultadoAjax.Exito) {
                        //loadData();
                        alertify.success(dato.message);
                    } else {
                        alertify.error(dato.message);
                    }
                }
            });
        } else if ($("#hidOpcion").val() == K_Operacion.Editar) {
            ///actualizacion
            $.ajax({
                url: 'Actualizar',
                data: sistema,
                type: 'POST',
                success: function (response) {
                    var dato = response;
                    validarRedirect(dato);
                    if (dato.result == K_ResultadoAjax.Exito) {
                        alertify.success(dato.message);
                    } else {
                        alertify.success(dato.message);
                    }
                }
            });
        }
        $("#mvNuevo").dialog("close");
        buscarJqGrid();
    }
};
function verModulo(idSist) {
    var src = $('#imgExpand_' + idSist).attr('src');
    if (src == '../Imagen/icono/plus.png') {
        $('#imgExpand_' + idSist).attr('src', '../Imagen/icono/minus.png');
        $('#divContent_' + idSist).attr("display", "inline");
        $.ajax({
            url: 'ListarModuloHtml',
            data: { idSist: idSist, idModulo: $("#ddlModuloFiltro").val() },
            type: 'POST',
            beforeSend: function () { },
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result == K_ResultadoAjax.Exito) {
                    $("#divGrilla_" + idSist).html(dato.message);
                } else {
                    alertify.error(dato.message);
                }
            }
        });
    } else {
        $('#imgExpand_' + idSist).attr('src', '../Imagen/icono/plus.png');
        $('#divContent_' + idSist).attr("display", "none");
        $("#divGrilla_" + idSist).html("");
    }
    return false;

}
function verPerfil(idModulo) {
    var src = $('#imgExpandPerfil_' + idModulo).attr('src');

    if (src == '../Imagen/icono/plus.png') {
        $('#imgExpandPerfil_' + idModulo).attr('src', '../Imagen/icono/minus.png');
        $('#divContentPerfil_' + idModulo).attr("display", "inline");
        $.ajax({
            url: 'ListarPerfilHtml',
            data: { idModulo: idModulo, idPerfil: $("#ddlPerfilFiltro").val() },
            type: 'POST',
            beforeSend: function () { },
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result == K_ResultadoAjax.Exito) {
                    $("#divGrillaPerfil_" + idModulo).html(dato.message);
                } else if (dato.result == K_ResultadoAjax.Error) {
                    alertify.error(dato.message);
                }
            }
        });
    } else {
        $('#imgExpandPerfil_' + idModulo).attr('src', '../Imagen/icono/plus.png');
        $('#divContentPerfil_' + idModulo).attr("display", "none");
        $("#divGrillaPerfil_" + idModulo).html("");
    }
    return false;

}

var eliminar = function (item) {
    $.each(item, function (index, i) {
        $.ajax({
            data: { CodigoSistema: i },
            url: 'Eliminar',
            type: 'POST',
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result == K_ResultadoAjax.Exito) {
                    alertify.success(dato.message);
                } else {
                    alertify.success(dato.message);
                }
            }
        });
    });
    buscarJqGrid();
    return false;
}

function resetPopup() {
    msgOkB("aviso", "");
    limpiarRequerido();
    $("#txtCodigo").val("");
    $("#txtNombre").val("");
    $("#txtDescripcion").val("");
    $("#txtPrefijo").val("");

    $("#txtNombre").removeAttr('disabled');
    $("#txtDescripcion").removeAttr('disabled');
    $("#txtPrefijo").removeAttr('disabled');
    $("#ddlSituacion").removeAttr('disabled');
}
var closePopup = function () {
    $("#mvNuevo").dialog("close");
};


function edit(id) {
    $("#hidOpcion").val(K_Operacion.Editar);
    $("#mvNuevo").dialog("open");
    $("#mvNuevo").dialog('option', 'title', 'Actualizar información de Sistema.');
    resetPopup();

    $.ajax({
        data: { CodigoSistema: id },
        url: 'ObtenerSistema',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var sistema = dato.data.Data;
            if (dato.result = K_ResultadoAjax.Exito) {
                $("#txtCodigo").val(sistema.CodigoSistema);
                $("#txtNombre").val(sistema.Nombre);
                $("#txtDescripcion").val(sistema.Descripcion);
                $("#txtPrefijo").val(sistema.Prefijo);
                $("ddlSituacion").val(sistema.Anulado == false ? 'A' : 'I');
            }
        }
    });
}

function del(id) {
    alertify.confirm("Esta seguro de eliminar el registro?", function (e) {
        if (e) {
            var item = Array();
            item[0] = id;
            eliminar(item);
        } else {
            alertify.error("Operación eliminación cancelada.");
        }
    });
    return false;
}

function ver(id) {
    $("#hidOpcion").val(K_Operacion.Ver);
    $("#mvNuevo").dialog("open");
    $("#mvNuevo").dialog('option', 'title', 'Información de Sistema.');
    resetPopup();
    $.ajax({
        data: { CodigoSistema: id },
        url: 'ObtenerSistema',
        type: 'POST',
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            var sistema = dato.data.Data;
            if (dato.result = K_ResultadoAjax.Exito) {
                $("#txtCodigo").val(sistema.CodigoSistema);
                $("#txtNombre").val(sistema.Nombre);
                $("#txtDescripcion").val(sistema.Descripcion);
                $("#txtPrefijo").val(sistema.Prefijo);
                $("ddlSituacion").val('I');

                $("#txtNombre").attr('disabled', 'disabled');
                $("#txtDescripcion").attr('disabled', 'disabled');
                $("#txtPrefijo").attr('disabled', 'disabled');
                $("ddlSituacion").prop('disabled', 'disabled');
            }
        }
    });

    return false;
}
//INICIO PERFIL
var insertarPerfil = function () {
    if (ValidarRequeridos()) {
        var perfil = {
            CodigoPerfil: $("#txtCodigoPerfil").val(),
            Nombre: $("#txtNombrePerfil").val(),
            Descripcion: $("#txtDescripcionPerfil").val(),
            Anulado: $("#ddlSituacionPerfil").val() == 'A' ? false : true,
            CodigoModulo: $("#ddlModuloPerfil").val()
        };
        $.ajax({
            url: '../Perfil/Insertar',
            data: perfil,
            type: 'POST',
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result = K_ResultadoAjax.Exito) {
                    alertify.success(dato.message);
                } else {
                    alertify.error(dato.message);
                }
            }
        });
        $("#mvNuevoPerfil").dialog("close");
        buscarHtml();
    }
}
var closePopupPerfil = function () {
    $("#mvNuevoPerfil").dialog("close");
};
function resetPopupPerfil(CodigoModulo) {
    msgOkB("aviso", "");
    limpiarRequerido();

    listarModulo("ddlModuloPerfil", K_MensajeSelect.Seleccione, CodigoModulo);

    $("#txtCodigoPerfil").val("");
    $("#txtNombrePerfil").val("");
    $("#txtDescripcionPerfil").val("");

    $("#txtNombrePerfil").removeAttr('disabled');
    $("#txtDescripcionPerfil").removeAttr('disabled');
    $("#ddlModuloPerfil").removeAttr('disabled');
    $("#ddlSituacionPerfil").removeAttr('disabled');

    $("#ddlModuloPerfil").prop('disabled', 'disabled');
}
function addPerfil(CodigoModulo) {

    resetPopupPerfil(CodigoModulo);
    $("#mvNuevoPerfil").dialog('option', 'title', 'Registrar información de Perfil.');
    $("#mvNuevoPerfil").dialog("open");
    return false;
}
//FIN PERFIL
//INICIO MODULO
var insertarModulo = function () {
    if (ValidarRequeridos()) {
        var modulo = {
            CodigoModulo: $("#txtCodigoModulo").val(),
            Nombre: $("#txtNombreModulo").val(),
            Descripcion: $("#txtDescripcionModulo").val(),
            Anulado: $("#ddlSituacionModulo").val(),
            CodigoSistema: $("#ddlSistemaModulo").val()
        };
        $.ajax({
            url: '../Modulo/Insertar',
            data: modulo,
            type: 'POST',
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result = K_ResultadoAjax.Exito) {
                    alertify.success(dato.message);
                } else {
                    alertify.error(dato.message);
                }
            }
        });
        $("#mvNuevoModulo").dialog("close");
        buscarHtml();
    }
}
var closePopupModulo = function () {
    $("#mvNuevoModulo").dialog("close");
};
function resetPopupModulo(CodigoSistema) {
    msgOkB("aviso", "");
    limpiarRequerido();

    listarSistema("ddlSistemaModulo", K_MensajeSelect.Seleccione, CodigoSistema);

    //AgregarRequerido("tbModulo");

    $("#txtCodigoModulo").val("");
    $("#txtNombreModulo").val("");
    $("#txtDescripcionModulo").val("");

    $("#txtNombreModulo").removeAttr('disabled');
    $("#txtDescripcionModulo").removeAttr('disabled');
    $("#ddlSistemaModulo").removeAttr('disabled');
    $("#ddlSituacionModulo").removeAttr('disabled');

    $("#ddlSistemaModulo").attr('disabled', 'disabled');
}
function addModulo(CodigoSistema) {
    resetPopupModulo(CodigoSistema);
    $("#mvNuevoModulo").dialog('option', 'title', 'Registrar información de Modulo.');
    $("#mvNuevoModulo").dialog("open");
    return false;
}

//FIN MODULO


// INICIO OPCION

var insertarOpcion = function () {

    if (ValidarObligatorio(K_POPUP_IDS.OPCION, K_MENSAJE_POPUP.OPCION)) {
        var opcion = {
            CodigoOpcion: $("#txtCodigoOpcion").val(),
            Nombre: $("#txtNombreOpcion").val(),
            Descripcion: $("#txtDescripcionOpcion").val(),
            Ruta: $("#txtRuta").val(),
            CodigoPerfil: $("#hidCodigoPerfil").val(),
            Nivel: $("#hidNivel").val(),
            CodigoPadre: $("#hidCodigoOpcionPadre").val()
        };
        $.ajax({
            url: '../Opcion/Insertar',
            data: opcion,
            type: 'POST',
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result = K_ResultadoAjax.Exito) {

                    //alert(opcion.CodigoPerfil + "------" + opcion.CodigoPadre);
                    if (opcion.CodigoPadre == 0) {
                        refreshOpciones(opcion.CodigoPerfil);
                    } else {
                        refreshOpcionesRec(opcion.CodigoPerfil, opcion.CodigoPadre);
                    }

                    alertify.success(dato.message);
                } else {
                    alertify.error(dato.message);
                }
            }
        });
        $("#" + K_POPUP_IDS.OPCION).dialog("close");
        //  buscarHtml();
    }
}
function addOpcion(CodigoPerfil) {
    resetPopupOpcion(CodigoPerfil);
    $("#" + K_POPUP_IDS.OPCION).dialog('option', 'title', 'Registrar Nueva Opción.');
    $("#" + K_POPUP_IDS.OPCION).dialog("open");
    return false;
}
function addOpcionRec(CodigoPerfil, OpcionPadre) {

    $("#txtDescripcionOpcion").val("");
    $("#txtNombreOpcion").val("");
    $("#txtRuta").val("");

    $("#hidCodigoPerfil").val(CodigoPerfil);
    $("#hidNivel").val(2);
    $("#hidCodigoOpcionPadre").val(OpcionPadre);

    $("#" + K_POPUP_IDS.OPCION).dialog('option', 'title', 'Registrar Nueva Opción Hija.');
    $("#" + K_POPUP_IDS.OPCION).dialog("open");
    return false;
}
function moverOpcionRec(CodigoPerfil, OpcionHija, orden, OpcionPadre, opc) {
    $.ajax({
        url: '../Opcion/ActualizarOrdenOpcPerfil',
        data: { idPerfil: CodigoPerfil, idOpc: OpcionHija, orden: orden, opcion: opc, idOpcPadre: OpcionPadre },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $('#imgExpandOpc_' + CodigoPerfil + '_' + OpcionPadre).attr('src', '../Imagen/icono/plus.png');
                $('#divContentOpc_' + CodigoPerfil + '_' + OpcionPadre).attr("display", "none");
                verOpcionesRec(CodigoPerfil, OpcionPadre);
            } else if (dato.result == K_ResultadoAjax.Error) {
                alertify.error(dato.message);
            }
        }
    });
    return false;
}
function moverOpcion(CodigoPerfil, OpcionPadre, orden, opc) {
    $.ajax({
        url: '../Opcion/ActualizarOrdenOpcPerfil',
        data: { idPerfil: CodigoPerfil, idOpc: OpcionPadre, orden: orden, opcion: opc, idOpcPadre: 0 },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $('#imgExpandOpc_' + CodigoPerfil).attr('src', '../Imagen/icono/plus.png');
                $('#divContentOpc_' + CodigoPerfil).attr("display", "none");
                verOpciones(CodigoPerfil);
            } else if (dato.result == K_ResultadoAjax.Error) {
                alertify.error(dato.message);
            }
        }
    });
    return false;
}

///nivel 0
function resetPopupOpcion(CodigoPerfil) {


    $("#txtDescripcionOpcion").val("");
    $("#txtNombreOpcion").val("");
    $("#txtRuta").val("");

    $("#hidCodigoPerfil").val(CodigoPerfil);
    $("#hidNivel").val(1);
    $("#hidCodigoOpcionPadre").val(0);

}

function verOpciones(idPerfil) {
    var src = $('#imgExpandOpc_' + idPerfil).attr('src');

    if (src == '../Imagen/icono/plus.png') {
        $('#imgExpandOpc_' + idPerfil).attr('src', '../Imagen/icono/minus.png');
        $('#divContentOpc_' + idPerfil).attr("display", "inline");
        $.ajax({
            url: 'ListarOpcionHtml',
            data: { idPerfil: idPerfil },
            type: 'POST',
            beforeSend: function () { },
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result == K_ResultadoAjax.Exito) {
                    $("#divGrillaOpc_" + idPerfil).html(dato.message);
                } else if (dato.result == K_ResultadoAjax.Error) {
                    alertify.error(dato.message);
                }
            }
        });
    } else {
        $('#imgExpandOpc_' + idPerfil).attr('src', '../Imagen/icono/plus.png');
        $('#divContentOpc_' + idPerfil).attr("display", "none");
        $("#divGrillaOpc_" + idPerfil).html("");
    }
    return false;

}

function verOpcionesRec(idPerfil, idOpc) {
    var src = $('#imgExpandOpc_' + idPerfil + '_' + idOpc).attr('src');
    if (src == '../Imagen/icono/plus.png') {
        $('#imgExpandOpc_' + idPerfil + '_' + idOpc).attr('src', '../Imagen/icono/minus.png');
        $('#divContentOpc_' + idPerfil + '_' + idOpc).attr("display", "inline");
        $.ajax({
            url: 'ListarOpcionRecHtml',
            data: { idPerfil: idPerfil, idOpcPadre: idOpc },
            type: 'POST',
            beforeSend: function () { },
            success: function (response) {
                var dato = response;
                validarRedirect(dato);
                if (dato.result == K_ResultadoAjax.Exito) {
                    $('#divGrillaOpc_' + idPerfil + '_' + idOpc).html(dato.message);
                } else if (dato.result == K_ResultadoAjax.Error) {
                    alertify.error(dato.message);
                }
            }
        });
    } else {
        $('#imgExpandOpc_' + idPerfil + '_' + idOpc).attr('src', '../Imagen/icono/plus.png');
        $('#divContentOpc_' + idPerfil + '_' + idOpc).attr("display", "none");
        $('#divGrillaOpc_' + idPerfil + '_' + idOpc).html("");
    }
    return false;

}
function refreshModulo(idSist) {
    var codModulo = $("#ddlModuloFiltro").val();
    $('#imgExpand_' + idSist).attr('src', '../Imagen/icono/minus.png');
    $('#divContent_' + idSist).attr("display", "inline");
    $.ajax({
        url: 'ListarModuloHtml',
        data: { idSist: idSist, idModulo: $("#ddlModuloFiltro").val() },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato); 
            if (dato.result == K_ResultadoAjax.Exito) {
                $("#divGrilla_" + idSist).html(dato.message);  
                 refreshPerfil(codModulo, 0);
            } else {
                alertify.error(dato.message);
            }
        }
    });
}
function refreshPerfil(idModulo, opc) {
    $('#imgExpandPerfil_' + idModulo).attr('src', '../Imagen/icono/minus.png');
    $('#divContentPerfil_' + idModulo).attr("display", "inline");
    $.ajax({
        url: 'ListarPerfilHtml',
        data: { idModulo: idModulo, idPerfil: $("#ddlPerfilFiltro").val() },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $("#divGrillaPerfil_" + idModulo).html(dato.message);
                if (opc == 1) refreshOpciones($("#ddlPerfilFiltro").val());
            } else if (dato.result == K_ResultadoAjax.Error) {
                alertify.error(dato.message);
            }
        }
    });
}
function refreshOpciones(idPerfil) {

    $('#imgExpandOpc_' + idPerfil).attr('src', '../Imagen/icono/minus.png');
    $('#divContentOpc_' + idPerfil).attr("display", "inline");
    $.ajax({
        url: 'ListarOpcionHtml',
        data: { idPerfil: idPerfil },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $("#divGrillaOpc_" + idPerfil).html(dato.message);
            } else if (dato.result == K_ResultadoAjax.Error) {
                alertify.error(dato.message);
            }
        }
    });

    return false;

}

function refreshOpcionesRec(idPerfil, idOpc) {

    $('#imgExpandOpc_' + idPerfil + '_' + idOpc).attr('src', '../Imagen/icono/minus.png');
    $('#divContentOpc_' + idPerfil + '_' + idOpc).attr("display", "inline");
    $.ajax({
        url: 'ListarOpcionRecHtml',
        data: { idPerfil: idPerfil, idOpcPadre: idOpc },
        type: 'POST',
        beforeSend: function () { },
        success: function (response) {
            var dato = response;
            validarRedirect(dato);
            if (dato.result == K_ResultadoAjax.Exito) {
                $('#divGrillaOpc_' + idPerfil + '_' + idOpc).html(dato.message);
            } else if (dato.result == K_ResultadoAjax.Error) {
                alertify.error(dato.message);
            }
        }
    });

    return false;

}
// FIN OPCION
